11
תגובות
בYII בשורת הכתובת מופיע:
blablabla/index.php?r=login

ו-
blablabla/index.php?r=upload

אני רוצה שהם יהיו
blablabla/login/

blablabla/upload/

blablabla/index/

ניסיתי לקרוא על מוד ריווריט אבל לא ממש הבנתי מה לעשות
אפשר דוגמה?

11 תשובות

avatar ענה intval ב 21 לינואר 2012 #

הדבר היחידי שצריך כאן מ mod_rewrite זה להוסיף שלוש שורות ל htaccess
זה לא קשור לנושא שלך.

איך לעשות את הקישורים כאלה תוכל לקרוא כאן
במדריך ניהול קישורים

avatar ענה יוווווווווואו ב 21 לינואר 2012 #

אפשר דוגמה בבקשה? זה דחוף :O

avatar ענה intval ב 21 לינואר 2012 #

בקובץ הקונפיגורציה:

'urlManager'    => array
                (
                    'urlFormat'=>'path',
                    'showScriptName'=>false,


ב htaccess
# if a directory or a file exists, use it directly
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d

  # otherwise forward it to index.php
  RewriteRule . index.php


אף אחד לא ירביץ לך אם תקרא את המדריכים שבקישור,
תפתח, למשל, את הקוד הזה, תעתיק ותנסה לבד.
בדר"כ זה לוקח פחות זמן מלחקות לתשובה ונותן הרבה יותר אפקט כשתנסה ליצור עוד קישור בפעם הבאה.

avatar ענה יוווווווווואו ב 21 לינואר 2012 #

לא הבנתי מה לעשות בחלק:
'pattern1'=»'route1',
'pattern2'=»'route2',
'pattern3'=»'route3',

avatar ענה ilikeme ב 21 לינואר 2012 #

'index.html' => 'site/index'

אם תיכנס לדף index.html בכתובת אז זה יהיה כאילו נכנסת לקונטרולר site ולפעולה index
או הרשמה:
'register.html' => 'account/register'
זה אם תיהיה בדף register.html זה יהיה כאילו היית בדף index.php?r=account/register

avatar ענה יוווווווווואו ב 21 לינואר 2012 #

אני רוצה שאם אני נכנס לכתובת www.blablablablabla.co.il/contact
זה יהיה כאילו אנ ב www.blablablablabla.co.il/index.php?r=contact
עשיתי בקונפיג

'urlManager'=>array(
            'urlFormat'=>'path',
      'rules'=>array(
        'contact'=>'contact/index',
      ),
    )

ויש שגיאה The requested URL /blablabla/contact was not found on this server.
מה לא בסדר?

avatar ענה intval ב 22 לינואר 2012 #

מאיפה בא ה blabla ?
תגלוש ל http://localhost/contact והכל יהיה בסדר.

avatar ענה משתמש_91247 ב 22 לינואר 2012 #

בלה בלה זה שם האתר..

avatar ענה משתמש_91351 ב 22 לינואר 2012 #

blabla זה דוגמה לשם של האתר.
אני עובד על כמה דברים ולכל אחד יש תיקייה משלו בwamp בתיקייה www ולכן זה
www/blabla/index.php?r=contact
שבמקומו אני רוצה את www/blabla/contact
עשיתי בurlManager ב-rules:
'contact'=>'contact/index',
כלומר שאם מישהו ניגש לcontact זה יהיה כאילו הוא ניגש לקונטרולר contact.
הבעיה היא שזה לא פועל משום מה... יכול להיות שלא כתבתי את זה נכון?
מה עוד צריך לעשות?

avatar ענה יוווווווווואו ב 22 לינואר 2012 #

משתמש_91351 זה אני לא הייתי מחובר

avatar ענה intval ב 22 לינואר 2012 #

יותר יכול להיות שאתה תשבור את הראש עוד 15 אלף פעם עם מבנה כזה שכל אתר בתיקיה שונה.
כי אם תעלה את זה לאחסון, כל הנתיבים יהיו לא נכונים, אם תשנה את שם התיקיה - שוב, כל דבר שתעשה בשונה - יהרוס לך את כל הפרוייקט.
apache virtual hosts (+google( יפתור לך את כל הבעיות.